<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/1/25
 * Time: 15:35
 */
namespace app\index\controller;

use think\Db;
use think\Request;

class Account extends Common
{
	/**
	 * 判断是否登录
	*/
	public function _initialize()
	{
		parent::_initialize();
	}
	
	/**
	 * 添加商家页面
	*/
	public function index()
	{
		return view('index');
	}
	/**
	 * 添加商家
	 * @param string post.account 内部商家账号
	 * @param string post.password 密码
	 * @param string post.email 邮箱
	 * @param string post.linkman 联系人
	 * @param string post.telephone 联系电话
	 * @param string post.paymentaccount 收款账号
	 * @param string post.bank 所属引号
	 * @param string post.branch 支行
	 * @param string post.settlementdate 结算日期
	 * @param string post.successively 付款方式
	 * @return json success 添加成功  error 添加失败错误信息
	*/
	public function insert()
	{
		if(Request()->isAjax()){
			try{
				Db::startTrans();
				$input['account'] = input('post.account');
				$input['password'] = encrypt(input('post.password'));
				$input['email'] = input('post.email');
				$input['linkman'] = input('post.linkman');
				$input['telephone'] = input('post.telephone');
				$input['paymentaccount'] = input('post.paymentaccount');
				$input['bank'] = input('post.bank');
				$input['branch'] = input('post.branch');
				$input['settlementdate'] = input('post.settlementdate');
				$input['successively'] = input('post.successively');
				$input['status'] = 2;
				$result = Db::table('business')->insertGetId($input);
				if(!$result){
					throw new \PDOException('添加失败');
				}
				Db::commit();
				$success = ['success'=>'添加成功'];
				return json($success);
			}catch (\PDOException $e){
				Db::rollback();
				$error = ['error'=>$e->getMessage()];
				return json($error);
			}
		}
	}
	/**
	 * 验证账号是否存在
	 * @param string post.account 内部账号
	 * @return json success 可用 error 账号已存在
	*/
	public function verification()
	{
		if(Request()->isAjax()){
			try{
				$result = Db::table('business')->where('account',input('post.account'))->value('account');
				if($result){
					throw new \PDOException('账号已存在');
				}else{
					$success = ['success'=>'可用'];
					return json($success);
				}
			}catch (\PDOException $e){
				$error = ['error'=>$e->getMessage()];
				return json($error);
			}
		}
		
	}
	
	/**
	 * 邮箱验证
	 * @param string post.email 邮箱
	 * @return json success 可用 error 邮箱已存在
	*/
	public function mailbox()
	{
		if(Request()->isAjax()){
			try{
				$result = Db::table('business')->where('email',input('post.email'))->find();
				if($result){
					throw new \PDOException('邮箱已存在');
				}else{
					$success = ['success'=>'可用'];
					return json($success);
				}
			}catch (\PDOException $e){
				$error = ['error'=>$e->getMessage()];
				return json($error);
			}
		}
	}
	/**
	 * 修改商家信息
	 * @param int get.id 商家id号
	*/
	public function edit()
	{
		$id = input('get.id');
		$result = Db::table('business')->where('id',$id)->find();
		return view('edit',compact('result'));
	}
	/**
	 * 修改商家信息
	 * @param string post.linkman 联系人
	 * @param string post.telephone 联系电话
	 * @param string post.paymentaccount 收款账号
	 * @param string post.bank 所属引号
	 * @param string post.branch 支行
	 * @param string post.settlementdate 结算日期
	 * @param string post.bond 押金
	*/
	public function update()
	{
		try{
			$id = input('post.id');
			$input['linkman'] = input('post.linkman');
			$input['telephone'] = input('post.telephone');
			$input['paymentaccount'] = input('post.paymentaccount');
			$input['bank'] = input('post.bank');
			$input['branch'] = input('post.branch');
			$input['settlementdate'] = input('post.settlementdate');
			$input['bond'] = input('post.bond');
			$input['status'] = input('post.status');
			$result = Db::table('business')->where('id',$id)->update($input);
			if(!$result){
				throw new \PDOException('修改失败');
			}
			$success = ['success'=>'修改成功'];
			return json($success);
		}catch (\PDOException $e){
			$error = ['error'=>$e->getMessage()];
			return json($error);
		}
	}
}